Skip to content

Comments

feat(agents): add multi-agent personas with CRUD UI#97

Open
penso wants to merge 1 commit intomainfrom
how-to-build-agents
Open

feat(agents): add multi-agent personas with CRUD UI#97
penso wants to merge 1 commit intomainfrom
how-to-build-agents

Conversation

@penso
Copy link
Collaborator

@penso penso commented Feb 12, 2026

Summary

  • Introduce agent personas — distinct AI identities with separate names, emojis, creatures, vibes, system prompts (souls), and per-agent memory workspaces
  • Replace the single theme field with creature + vibe across all crates (config, onboarding, chat, agents, gateway)
  • Add agent_id column to sessions for agent-session binding
  • SQLite-backed AgentPersonaStore with full CRUD and RPC methods (agents.list, agents.get, agents.create, agents.update, agents.delete, agents.set_session, agents.identity.get/update/update_soul)
  • Settings UI page with create/edit/delete cards, soul editor, and emoji picker
  • E2E test coverage for the agents page

Validation

Completed

  • cargo build — compiles cleanly
  • cargo test — all tests pass (0 failures)
  • just format-check — formatting passes
  • cargo clippy — no new warnings from changes
  • biome check --write — JS files linted and formatted
  • taplo fmt — TOML files formatted

Remaining

  • just release-preflight fails on CUDA (pre-existing, unrelated to this PR)
  • E2E tests need a running gateway to execute — not run locally
  • Welcome card agent picker integration (future PR)

Manual QA

  • Verified build succeeds and all existing tests pass
  • Verified no theme references remain in compiled code paths

Introduce agent personas — distinct AI identities with separate names,
emojis, creatures, vibes, system prompts (souls), and per-agent memory
workspaces. Each agent gets its own data directory under
`~/.moltis/agents/<id>/`.

Key changes:
- Config: replace `theme` field with `creature` + `vibe` on AgentIdentity
- Sessions: add `agent_id` column with list/delete-by-agent helpers
- Gateway: AgentPersonaStore (SQLite CRUD), RPC methods (agents.*),
  wired into GatewayServices and GonData
- Web UI: Agents settings page (page-agents.js) with create/edit/delete
  cards, soul editor, and emoji picker integration
- E2E: agents.spec.js covering page load, CRUD lifecycle, and validation
- Onboarding/prompt: updated to use creature/vibe instead of theme
@penso penso force-pushed the how-to-build-agents branch from add057c to 525209c Compare February 24, 2026 05:12
@penso penso changed the title feat(agents): multi-agent personas with per-agent identity and memory feat(agents): add multi-agent personas with CRUD UI Feb 24, 2026
@codspeed-hq
Copy link
Contributor

codspeed-hq bot commented Feb 24, 2026

Merging this PR will degrade performance by 34.68%

❌ 1 regressed benchmark
✅ 38 untouched benchmarks
⏩ 5 skipped benchmarks1

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
env_substitution 11.2 µs 17.1 µs -34.68%

Comparing how-to-build-agents (525209c) with main (626ba06)

Open in CodSpeed

Footnotes

  1. 5 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@codecov
Copy link

codecov bot commented Feb 24, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant